# ==========================================================================
# Generator: PROJECT
# Copyright: ©2006-2011 Strobe Inc. and contributors
#            portions copyright ©2009 Apple Inc.
# ==========================================================================

namespace :generator do

  # Accept the following types of arguments:
  #
  #  project .             #=> Make current working directory. like sc-init
  #  project project_name  #=> Create project_name, namespace: ProjectName
  #  project ProjectName   #=> Create project_name, namespace: ProjectName
  #  project NameSpace path/to/project #=> Create path/to/project, NameSpace
  #
  task :prepare do
    # get arguments & normalize
    gen = GENERATOR
    namespace = gen.arguments[1]
    project_path = gen.arguments[2]
    
    if project_path
      project_path = File.expand_path(project_path)
      namespace = File.basename(project_path) if namespace == '.'
    elsif namespace == '.'
      project_path = Dir.pwd
      namespace = File.basename(project_path)
    else
      project_path = Dir.pwd / gen.snake_case(namespace)
    end
      
    # Setup standard options for generating a project
    gen.target_name = gen.target = gen.method_name = gen.class_name = nil
    gen.build_root = File.dirname(project_path) # dir where project dir lives
    gen.filename = File.basename(project_path) # project dir name
    gen.namespace = gen.camel_case namespace
  end
  
end

# default behavior for a template is to just copy the contents of the
# templates directory to the end destination. Add any additional configs here.
config :templates,
  :root_dir   => '_file_path_'
  